package com.wan37.logic.domain.vo;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @author : luoyong
 * @date : 2020-06-02 15:22
 **/
public class AllRoleVO {
    /**
     * ATN 物理攻击力,DEF 防御力,INT 魔法攻击力,ATT 攻击力,SPD  速度，回避物理攻击；
     * HIT 命中率或者连击、RES 魔法防御力、STR 力量（微量增加生命值、近战伤害力）、status 状态
     *
     * Shield 护盾
     *
     * CON 体质（增加生命值、负重力）、DEX 灵巧（增加命中率、微量减少受到的物理损伤）；
     * PER 感知力、LER 学识、WIL 意志力（影响生命值、法力、精力上限）
     */
    /**
     * 1开头  NPC
     * 2开发  怪物
     * 其他   用户角色
     */
    private String allRoleId;
    private String name;

    /**
     * 实体数值属性集合
     */
    private volatile Map<String, Long> numberMap;

    /**
     * 0    存活正常
     * 1    死亡
     */
    private Integer status;
    /**
     * 1   用户角色
     * 2   怪物
     * 3   NPC
     */
    private Integer label;

    private List<String> attackEntityId;

    public AllRoleVO() {
        this.numberMap = new ConcurrentHashMap<>();
    }

    public Map<String, Long> getNumberMap() {
        return numberMap;
    }

    public void setNumberMap(Map<String, Long> numberMap) {
        this.numberMap = numberMap;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public void setLabel(Integer label) {
        this.label = label;
    }

    public String getAllRoleId() {
        return allRoleId;
    }

    public void setAllRoleId(String allRoleId) {
        this.allRoleId = allRoleId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getStatus() {
        return status;
    }

    public Integer getLabel() {
        return label;
    }

    public List<String> getAttackEntityId() {
        return attackEntityId;
    }

    public void setAttackEntityId(List<String> attackEntityId) {
        this.attackEntityId = attackEntityId;
    }

    @Override
    public String toString() {
        return "AllRole{" +
                "allRoleId='" + allRoleId + '\'' +
                ", nickname='" + name + '\'' +
                ", status=" + status +
                ", label=" + label +
                '}';
    }
}
